// 在JS中是不限制变量的类型的
// 先声明再赋值
let a: string; // 变量a只能存储字符串类型
let b: number; // 变量b只能存储数值
let c: boolean; // 变量c只能存储布尔值

a = "hello";
// a = 100 //警告：不能将类型“number”分配给类型“string”

b = 666;
// b = "aa" //警告：不能将类型“string”分配给类型“number”

c = true;
// c = 12 //警告：不能将类型“number”分配给类型“boolean”

// JS 中的函数是不考虑参数个数和类型的
// 为函数的参数,和返回值 指定类型
function demo(x: number, y: number): number {
  return x + y;
}

demo(1, 2);
// demo(1,2,3) // 警告：应有 2 个参数，但获得 3 个
// demo("13")// 警告：应有 2 个参数，但获得 1 个
